package com.hevs.samplewebapp.client.services;

import com.google.gwt.json.client.JSONObject;
import com.hevs.samplewebapp.client.bean.CompositeWRefresh;

/**
 * 
 * Interface for the Patient management service.
 * @author Thomas Rouvinez
 * @Date: 23.03.2012
 */
public abstract interface PatientManagementService
{
	/**
	 * Method to get a list of all patients in the system
	 */
	public abstract void getPatients();
	
	/**
	 * Method to get a list of a patients' medical data
	 * @param email
	 * email of the patient
	 * @param comp
	 * Graphical component to refresh
	 */
	public abstract void getMedDats(String email, CompositeWRefresh comp);
	
	/**
	 * Method to update a patients' data
	 * @param medDat
	 * medical data to update
	 * @param email
	 * email of the patient
	 * @param comp
	 * graphical component to refresh
	 */
	public abstract void update(JSONObject medDat, String email, CompositeWRefresh comp);
	
	/**
	 * Method to delete a patients' data
	 * @param medDat
	 * mediacl data to delete
	 * @param email
	 * email of the user
	 * @param comp
	 * graphical component to refresh
	 */
	public abstract void delete(JSONObject medDat, String email, CompositeWRefresh comp);
}